using System.Collections.Generic;
using QFramework;
using UnityEngine;


namespace GGameFramework.Event
{
    /// <summary>
    /// Type 建议处理GamaPlay逻辑事件
    /// Enum 建议处理UI部分逻辑事件
    /// </summary>
    [DisallowMultipleComponent]
    public sealed partial class EventManager :FrameworkModule
    {
        internal override int Priority => (int)FrameworkSystemPriority.Event;

        public readonly TypeEventSystem mTypeEventSystem  = TypeEventSystem.Global;
        
        public readonly EnumEventSystem mEnumEventSystem  = EnumEventSystem.Global;
        
        // 事件注册跟踪（用于调试）
        private Dictionary<string, List<object>> mTypeListeners = new Dictionary<string, List<object>>();
        
        private Dictionary<System.Enum, List<object>> mEnumListeners = new Dictionary<System.Enum, List<object>>();
        
        internal override void Update(float elapseSeconds, float realElapseSeconds)
        {
            
        }

        internal override void Shutdown()
        {
            
        }
    }
}
